package com.xbongbong.paas.service;

import com.xbongbong.pro.sms.pojo.dto.SmsFeeChargeDTO;
import com.xbongbong.pro.sms.pojo.dto.SmsFeeInfoDTO;
import com.xbongbong.pro.sms.pojo.dto.SmsFeeLogDTO;
import com.xbongbong.pro.sms.pojo.dto.SmsFeePayStatusDTO;
import com.xbongbong.pro.sms.pojo.dto.SmsFeeQrCodeDTO;
import com.xbongbong.pro.sms.pojo.dto.SmsPayInfoDTO;
import com.xbongbong.pro.sms.pojo.vo.SmsFeeChargeVO;
import com.xbongbong.pro.sms.pojo.vo.SmsFeeInfoVO;
import com.xbongbong.pro.sms.pojo.vo.SmsFeeLogVO;
import com.xbongbong.pro.sms.pojo.vo.SmsFeePayStatusVO;
import com.xbongbong.pro.sms.pojo.vo.SmsFeeQrCodeVO;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.sms.pojo.vo.SmsPayInfoVO;

/**
 * @description: 短信套餐
 * @Author: hongxiao
 * @date: 2019-01-13 16:49
 */
public interface SmsFeeService {
    /**
     * 获取短信套餐信息
     * @param smmFeeDetailDTO 入参
     * @return
     *
     * @author hongxiao
     * @date 2019-01-25 20:03
     * @since v1.0
     * @version v1.0
     */
    SmsFeeInfoVO getInfo(SmsFeeInfoDTO smmFeeDetailDTO) throws XbbException;

    /**
     * 短信套餐付款
     * @param smsFeeChargeDTO 入参数
     * @return
     *
     * @author hongxiao
     * @date 2019-01-25 20:03
     * @since v1.0
     * @version v1.0
     */
    SmsFeeChargeVO charge(SmsFeeChargeDTO smsFeeChargeDTO) throws XbbException;

    /**
     * 获取短信套餐支付状态
     * @param smsFeePayStatusDTO 入参
     * @return
     *
     * @author hongxiao
     * @date 2019-01-25 20:03
     * @since v1.0
     * @version v1.0
     */
    SmsFeePayStatusVO checkPayStatus(SmsFeePayStatusDTO smsFeePayStatusDTO) throws XbbException;

    /**
     * 获取支付宝二维码
     * @param smsFeeQrCodeDTO 入参
     * @return
     *
     * @author hongxiao
     * @date 2019-01-25 20:03
     * @since v1.0
     * @version v1.0
     */
    SmsFeeQrCodeVO getQRCode(SmsFeeQrCodeDTO smsFeeQrCodeDTO) throws XbbException;

    /**
     * 获取短信套餐购买记录列表
     * @param smsFeeLogDTO 入参
     * @return
     *
     * @author hongxiao
     * @date 2019-01-25 20:03
     * @since v1.0
     * @version v1.0
     */
    SmsFeeLogVO logList(SmsFeeLogDTO smsFeeLogDTO) throws XbbException;

    /**
     * 获取短信套餐支付宝支付信息
     * @param smsPayInfoDTO 入参
     * @return
     * @throws
     * @author hongxiao
     * @date 2019-07-16 09:15
     * @since v1.0
     * @version v1.0
     */
    SmsPayInfoVO getPayInfo(SmsPayInfoDTO smsPayInfoDTO) throws XbbException;
}
